package com.usj.dcalvo.ecommerce.bean;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToMany;
import javax.persistence.Table;

@Entity
@Table(name = "PRODUCTO")
public class ProductoBean implements Serializable {

	private static final long serialVersionUID = 9152021621741481367L;

	public ProductoBean() {
	}

	@Id
	@Column(name = "IDPRODUCTO")
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	private Integer id;

	@Column(name = "NOMBRE")
	private String nombre;

	@Column(name = "PRECIO")
	private Integer precio;

	@ManyToMany(cascade = { CascadeType.ALL }, fetch=FetchType.EAGER ,mappedBy = "productos")
	private List<UsuarioBean> usuarios = new ArrayList<UsuarioBean>();

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getNombre() {
		return nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public Integer getPrecio() {
		return precio;
	}

	public void setPrecio(Integer precio) {
		this.precio = precio;
	}

	public List<UsuarioBean> getUsuarios() {
		return usuarios;
	}

	public void setUsuarios(List<UsuarioBean> usuarios) {
		this.usuarios = usuarios;
	}

	public void addUsuario(UsuarioBean usuario) {
		this.usuarios.add(usuario);
	}

}
